שאלה 1 עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: 99 80 50 15 40 34 30 22 10 13 20 13 9 8 א. ב. ג. האם העץ הנ"ל הוא עץ תורשה?אם לא תקן אותו הוסף 3 מספרים שונים לעץ כך שתכונתו לא תשתנה כתוב פעולה המקבלת עץ ובודק האם הוא עץ תורשה ~1~
שאלה 2 כתוב פעולה המקבלת עץ המכיל מספרים שלמים ומחזיר אמת אם תת-עץ-השמאלי הוא שיקוף של תת-עץ הימני ו שקר אחרת לדוגמה עבור העץ הבא יוחזר אמת 5 4 4 7 7 8 8 9 9 שאלה 3 (בית ספר כצה נלסון) עץ נמוך_מהרמה הוא עץ המכיל מספרים שלמים, וערכו של כל איבר נמוך ממספר הרמה בה הוא נמצא. דוגמא : -2-4 0 1-1 א. כתוב פעולה המקבלת עץ, ומחזיר 'אמת' אם העץ הוא עץ נמוך מהרמה או שקר אחרת.(ניתן להוסיף לפעולה פרמטרים) ~2~
שאלה 4 כתוב פעולה המקבלת עץ ומחזירה את סכום האיברים ברמות הזוגיות שאלה 5 "עץ כפוליות" הוא עץ שבו כל צומת מכיל שני מספרים מטיפוס שלם.האחד מציין ערך והשני מציין מספר מופעים. כתוב פעולה המקבלת עץ כפוליות ומחזיר רשימה הכוללת עבור כל ערך המופיע בעץ מספר איברים בעלי ערך זהה כמספר המופעים שלו. לדוגמה 8,3 8,3 7,2 7,2 4,1 8,3 הרשימה שתוחזר [ 8, 8, 8, 7, 7, 4 ] ~3~
שאלה 6 נתון עץ המכיל מספרים טבעיים שונים זה מזה בסדר כלשהו כתוב פעולה הבונה רשימה שתכיל את המספרים שבעץ בצורה הבאה:כל המספרים הזוגיים יופיעו ברצף בהתחלת הרשימה,ואחריהם יופיעו ברצף כל המספרים האי- זוגיים.(הסדר לא משנה) דוגמה 5 1 4 2 7 אז התוצאה תהיה הרשימה הבא: [4, 2, 5,1,7 ] ~4~
שאלה 7 כתוב פעולה המקבלת 2 עצים t1,t2 ומחזיר אמת אם העץ t1 מוכל בשלמתו וגם מבחינת המבנה תוכן צמתיו בעץ 2 ושקר אחרת רמז :כתוב פעולה המחזירה אמת אם 2 העצים דומים שאלה 8 כתוב פעולה המקבלת עץ ורמה level ומספר שלם x הפעולה מחזירה אמת אם x נמצא ברמה level אחרת יוחזר שקר. ~5~
שאלה 9 תואמים הם שני אחים בעץ שערכם זהה עץ תאמים מוגדר עלה או שורש ושני תת עצים שכל אחד מהם הוא עץ-תואמים,כך שמספר התואמים בתת-העץ-השמאלי קטן או שווה למספר התואמים בתת-העץ הימני. כתוב פעולה המקבלת עץ ומחזירה אמת אם העץ הוא תואמים 1 7 3 5 2 2 שאלה 10 עץ זוג-פרד הוא: ע עלה 4 4 או עץ בינארי שבו כל ערכי הבנים השמאליים בעץ זוגיים וכל ערכי הבנים הימניים בעץ אי-זוגיים. א. צייר עץ זוג-פרד שבו לפחות 6 צמתים. ב. כתוב פעולה רקורסיבי בשם עץ-זוג-פרד( T ( אשר מקבל כפרמטר עץ בינארי T ומחזיר 'אמת' אם העץ הוא עץ-זוג-פרד ו'שקר', אחרת. ~6~
שאלה 11 בן יחיד בעץ בינרי הוא צומת שלאביו אין בן נוסף. נגדיר הפרש_בנים בעץ כהפחתת הסכום של כל הבנים היחידים הימניים בעץ מהסכום של כל הבנים היחידים השמאליים בעץ. א. מהו הפרש_הבנים בעץ הבינרי הזה: 15 6 26 9 5 9 30 8 7 15 29 א. כתוב פעולה המקבל עץ בינרי ומחזיר את הפרש הבנים שלו. ~7~
שאלה 12 לפניך הפעולה : הפעולה מקבלת עץ T ומחזירה את סכום שורש העץ וכל "צאצאיו הימנים" של שורש העץ. אם T עץ ריק יוחזר 0. שרשרת_ימנית_בעץ (T) דוגמה: אם T הוא העץ הנתון, אז יוחזר 15, משום שהסכום של שורש העץ, בנו הימני וכל שאר צאצאיו שהם בנים ימנים לאב ימני הוא 6 6 8 5 1 7 4. 6 + 5+ 4= 15 3 2 א. כתוב את הפעולה שרשרת_ימנית_בעץ (T). שאלה 13 עבור כל עץ לא ריק ניתן להשלמיו לעץ מאוזן על פי הנוהל הבא: עבור כל תת-עץ-ריק בעץ יש לבנות צומת המכיל תוכן 0 עד רמה העץ פחות 1 9 1 5 5 9 1 7 2 3 0 0 0 0 0 0 0 0 6 7 2 6 3 העץ לפני השינוי העץ אחרי השינוי כתוב פעולה המקבלת עץ ומוסיפה בן צמתים כך שיתקבל עץ מאוזן מלא,ערכו של כל צומת חדש יהיה 0 ~8~
שאלה 14 כתוב פעולה המקבלת רשימה של עצים על הפעולה להחזיר את מספר העצים שהם עצים מלאים. שאלה 15 נגדיר מסלול זוגי בעץ לא ריק כך שיש מסלול משורש העץ עד אחד העלים שכל הצמתים הם זוגיים,כתוב פעולה המקבלת עץ ומחזירה אמת אם העץ הוא עץ מסלול זוגי אחרת הפעולה תחזיר שקר 4 6 6 7 8 1 2 4 2 ~9~
שאלה 16 כתוב פעולה המקבלת עץ של מספרים שלמים ומעדכנת את כל צומת בו להיות סכום צאצאיו. העץ אחרי השינוי העץ לפני השינוי 8 25 7 2 9 7 1 5 7 0 3 0 3 0 שאלה 17 כתוב פעולה המקבלת עץ של מספרים שלמים ומעדכנת את כל צומת בו להיות הרמה שלו העץ אחרי השינוי העץ לפני השינוי 7 5 0 1 0 1 1 2 9 3 ~10 ~
שאלה 18 (איתן ראט) עץ יקרא עץ-מאיר אם הוא: עלה או שורש בעל שני בנים שכל אחד מהם הוא עץ מאיר וההפרש ערכי הבנים שלו אינו עולה על 2 (בערך מוחלט) כתוב פעולה המקבלת עץ ומחזירה אמת אם העץ הוא מאיר 8 2 2 7 5 שאלה 19 כתוב פעולה חיצונית המקבלת עץ של מספרים שלמים על הפעולה להחזיר רשימה שמספר החוליות בה יהיה כמספר הערכים השונים שמכיל העץ.כל חוליה תכיל ערך מן הערכים המופעים בעץ ואת מספר הופעותיו בעץ. 5 6 5 9 9 2 7 5 5,3 6,1 9,2 2,1 7,1 ~11 ~
שאלה 20 כתוב פעולה המדפיסה את כל הצמתים בעץ שערכם זוגי ואין להם בן שערכו אי-זוגי שאלה 21 כתוב פעולה חיצונית המקבלת עץ בינרי של מספרים שלמים, ומחזירה את מספר הצמתים שיש להם 2 בנים שאינם עלים. שאלה 22 עץ סיגמא הוא עץ עלה או עץ המורכב משורש ולכל היותר 2 תתי עצים שכל אחד מהם הוא עץ סיגמא, כך שערך השורש שווה לסכום הערכים צאצאיו כתוב פעולה חיצונית המקבלת עץ בינרי של מספרים ומחזירה אמת אם הוא עץ סיגמא ושקר אחרת ~12 ~
שאלה 23 לפניך הפעולה: האם- מיוחד( T ) הפעולה מקבלת עץ בינארי T לא ריק, שערכיו הם מספרים שלמים, מחזירה אמת אם לכל צומת בעץ (פרט לעלים) הערך בצומת שווה לסכום צאצאיו, וכל העלים בעלי ערכים זוגיים. דוגמא: עבור העץ T הבא הפעולה תחזיר אמת 152 20 56 20 20 8 12 8 4 4 כתוב פעולה למימוש הפעולה האם-מיוחד( T ) ~13 ~
שאלה 24 נגדיר פעולת "החלפה" על ערכי עץ בינארי באופן הבא: אם לצומת יש שני בנים, מחליפים בין ערכי הצמתים של הבן הימני והשמאלי. אם לצומת יש בן אחד, מחליפים את ערכו של צומת הבן בערכו הנגדי. כתוב פעולה בשם החלפה( T (, המקבל עץ בינארי T ומבצע החלפה על ערכיו לפי ההגדרה הנ"ל. לדוגמה העץ הבא: מתחלף בעץ הבא: 24 15 1 10 15 24-6 3 3 6 3 12 כתובפעולה המקבלת עץבינארי(לאריק) ומבצעעליואתפעולתההחלפה. ~14 ~
שאלה 25 (דיתה) עץ אחים הוא עץ שורש או עץ בינרי לחלוטין, שבו אם לצומת 2 בנים אזי האות הנמצאת בבן הימני עוקבת לאות הנמצאת בבן השמאלי וכל בן הוא עץ אחים. א. נתוניםהעציםהבאים, מימהםהואעץאחים? נמק. Q Q Q K L K L C D A B C D A B G H G H T T ב. כתבו פעולה המקבלת עץ בינארי אחיםו'שקר' אחרת. ומחזיר עץ הוא אם 'אמת' ~15 ~
שאלה 26 כתוב פעולה המקבלת עץ בינרי T לא ריק המכיל מספרים שלמים ומחזירה רשימה המכילה את הערכים של כל הצמתים שאין להם נכדים. דוגמה: עבור העץ הנ"ל תוחזר הרשימה הבאה : L: 12, 7, 3, 3, 16,6 ~16 ~
שאלות בגרות בגרות 2003 עץ מקבלת פעולה t ומספר x// public static bool Sod3(BinTreeNode<int> t, int x { int a if (t == null) return true; else { a = t.getinfo(); if (x == a) return false; return Sod3(t.GetLeft(),x) && Sod3(t.GetRight(),x); } עץ מקבלת פעולה t ורשימה //list public static List<int> Sod2(BinTreeNode<int> t,list<int> list) { int x; if (t!= null) { x = t.getinfo(); if (Sod3(t.GetLeft(), x) && Sod3(t.GetRight(), x)) list.insert(null, x); Sod2(t.GetLeft(), list); Sod2(t.GetRight(), list); } return list; } עץ מקבלת פעולה // t public static List<int> Sod1(BinTreeNode<int> t) { } List<int> list = new List<int>(); list = Sod2(t, list); return list; א. ב. ג. מה מבצע?Sod3(t,x) מה מבצע Sod1(t) מהמחזיר Sod1(t),אםכלהערכיםבעץt שוניםזהמזה? ~17 ~
בגרות 2007 ~18 ~
בגרות 2005 ~19 ~
בגרות 2005 ~20 ~